Node.js Modules

Node.js பயன்பாடுகளின் கட்டுமானத் தொகுதிகளை ஆராயுங்கள்

Node.js இல் தொகுதி என்றால் என்ன?

தொகுதிகள் Node.js பயன்பாடுகளின் கட்டுமானத் தொகுதிகள் ஆகும், இவை குறியீட்டை தர்க்கரீதியான, மீண்டும் பயன்படுத்தக்கூடிய கூறுகளாக ஒழுங்கமைக்க உங்களை அனுமதிக்கின்றன. இவை பின்வருவனவற்றில் உதவுகின்றன:

குறியீட்டை ஒழுங்கமைத்தல்

கையாளக்கூடிய கோப்புகளாக குறியீட்டை ஒழுங்கமைக்கிறது

செயல்பாட்டை உள்ளடக்குதல்

செயல்பாட்டை உள்ளடக்குகிறது

உலகளாவிய பெயர்வெளி மாசுபாட்டைத் தடுத்தல்

உலகளாவிய பெயர்வெளி மாசுபாட்டைத் தடுக்கிறது

குறியீடு பராமரிப்பு மற்றும் மீள் பயன்பாடு

குறியீடு பராமரிப்பு மற்றும் மீள் பயன்பாட்டை மேம்படுத்துகிறது

💡 முக்கிய குறிப்பு:

Node.js இரண்டு தொகுதி அமைப்புகளை ஆதரிக்கிறது: CommonJS (பாரம்பரிய) மற்றும் ES தொகுதிகள் (ECMAScript தொகுதிகள்). இந்தப் பக்கம் CommonJS ஐ உள்ளடக்குகிறது, ES தொகுதிகள் தனித்தனியாக உள்ளடக்கப்பட்டுள்ளன.

முக்கிய உள்ளமைக்கப்பட்ட தொகுதிகள்

Node.js பைனரியில் தொகுக்கப்பட்ட பல உள்ளமைக்கப்பட்ட தொகுதிகளை வழங்குகிறது.

இங்கே பொதுவாகப் பயன்படுத்தப்படும் சிலவை உள்ளன:

fs

கோப்பு அமைப்பு செயல்பாடுகள்

http

HTTP சேவையகம் மற்றும் வாடிக்கையாளர்

path

கோப்பு பாதை பயன்பாடுகள்

os

இயக்க முறைமை பயன்பாடுகள்

events

நிகழ்வு கையாளுதல்

util

பயன்பாட்டு செயல்பாடுகள்

stream

ஸ்ட்ரீம் கையாளுதல்

crypto

குறியாக்க செயல்பாடுகள்

எந்த உள்ளமைக்கப்பட்ட தொகுதியையும் பயன்படுத்த, require() செயல்பாட்டைப் பயன்படுத்தவும்:

const http = require('http');

எடுத்துக்காட்டு: எளிய HTTP சேவையகம்

http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.end('Hello World!');
}).listen(8080);

தொகுதிகளை உருவாக்குதல் மற்றும் ஏற்றுமதி செய்தல்

Node.js இல், .js நீட்டிப்பு கொண்ட எந்த கோப்பும் ஒரு தொகுதியாகும். நீங்கள் பல வழிகளில் ஒரு தொகுதியிலிருந்து செயல்பாட்டை ஏற்றுமதி செய்யலாம்:

1. பல உருப்படிகளை ஏற்றுமதி செய்தல்

// Exporting multiple functions
const getCurrentDate = () => new Date().toISOString();

const formatCurrency = (amount, currency = 'USD') => {
  return new Intl.NumberFormat('en-US', {
    style: 'currency',
    currency: currency
  }).format(amount);
};

// Method 1: Exporting multiple items
exports.getCurrentDate = getCurrentDate;
exports.formatCurrency = formatCurrency;

// Method 2: Exporting an object with multiple properties
// module.exports = { getCurrentDate, formatCurrency };

2. ஒரு ஒற்றை உருப்படியை ஏற்றுமதி செய்தல்

class Logger {
  constructor(name) {
    this.name = name;
  }

  log(message) {
    console.log(`[${this.name}] ${message}`);
  }

  error(error) {
    console.error(`[${this.name}] ERROR:`, error.message);
  }
}

// Exporting a single class
module.exports = Logger;

உங்கள் தொகுதிகளைப் பயன்படுத்துதல்

ஒரு தொடர்புடைய அல்லது முழுமையான பாதையுடன் require() ஐப் பயன்படுத்தி உங்கள் தனிப்பயன் தொகுதிகளை இறக்குமதி செய்து பயன்படுத்தவும்:

எடுத்துக்காட்டு: app.js

const http = require('http');
const path = require('path');

// Importing custom modules
const { getCurrentDate, formatCurrency } = require('./utils');
const Logger = require('./logger');

// Create a logger instance
const logger = new Logger('App');

// Create server
const server = http.createServer((req, res) => {
  try {
    logger.log(`Request received for ${req.url}`);

    res.writeHead(200, { 'Content-Type': 'text/html' });
    res.write(`

Welcome to our app!

`); res.write(`

Current date: ${getCurrentDate()}

`); res.write(`

Formatted amount: ${formatCurrency(99.99)}

`); res.end(); } catch (error) { logger.error(error); res.writeHead(500, { 'Content-Type': 'text/plain' }); res.end('Internal Server Error'); } }); // Start server const PORT = process.env.PORT || 3000; server.listen(PORT, () => { logger.log(`Server running at http://localhost:${PORT}`); });

தொகுதி ஏற்றுதல் மற்றும் தற்காலிக சேமிப்பு

Node.js தொகுதிகள் முதல் முறையாக ஏற்றப்பட்ட பிறகு அவற்றை தற்காலிகமாக சேமிக்கிறது. இதன் பொருள், அடுத்தடுத்த require() அழைப்புகள் தற்காலிகமாக சேமிக்கப்பட்ட பதிப்பை வழங்குகின்றன.

தொகுதி தீர்மானம்

நீங்கள் ஒரு தொகுதியை require செய்யும் போது, Node.js இந்த வரிசையில் அதைத் தேடுகிறது:

  • முக்கிய Node.js தொகுதிகள் (fs, http போன்றவை)
  • node_modules கோப்புறைகளில் Node தொகுதிகள்
  • உள்ளூர் கோப்புகள் (./ அல்லது ../ முன்னொட்டைப் பயன்படுத்தி)

சிறந்த நடைமுறைகள்

தொகுதி ஒழுங்கமைப்பு

தொகுதிகளை ஒற்றை பொறுப்பில் கவனம் செலுத்த வைக்கவும்
அர்த்தமுள்ள கோப்பு மற்றும் கோப்புறை பெயர்களைப் பயன்படுத்தவும்
தொடர்புடைய செயல்பாட்டை ஒன்றாகக் குழுவாக்கவும்
தொகுதி நுழைவுப் புள்ளிகளுக்கு index.js ஐப் பயன்படுத்தவும்

ஏற்றுமதி முறைகள்

பயன்பாடுகளுக்கு பெயரிடப்பட்ட ஏற்றுமதிகளை விரும்பவும்
ஒற்றை-வகுப்பு தொகுதிகளுக்கு இயல்புநிலை ஏற்றுமதிகளைப் பயன்படுத்தவும்
உங்கள் தொகுதியின் API ஐ ஆவணப்படுத்தவும்
தேவைப்பட்டால் தொகுதி துவக்கத்தைக் கையாளவும்

சுருக்கம்

தொகுதிகள் Node.js இல் ஒரு முக்கிய கருத்தாகும். அவை குறியீட்டை மீண்டும் பயன்படுத்தக்கூடிய, பராமரிக்கக்கூடிய அலகுகளாக ஒழுங்கமைக்க உங்களை இயக்குகின்றன.

தொகுதிகளை திறம்பட உருவாக்க, ஏற்றுமதி செய்தல் மற்றும் பயன்படுத்துதல் ஆகியவற்றைப் புரிந்துகொள்வதன் மூலம், நீங்கள் அளவிடக்கூடிய மற்றும் நன்கு கட்டமைக்கப்பட்ட பயன்பாடுகளை உருவாக்கலாம்.

CommonJS தொகுதிகள்

Node.js இயல்பாக CommonJS தொகுதிகளைப் பயன்படுத்துகிறது

require() மற்றும் module.exports

இறக்குமதி செய்ய require() ஐயும், ஏற்றுமதி செய்ய module.exports ஐயும் பயன்படுத்தவும்

தற்காலிக சேமிப்பு

தொகுதிகள் முதல் ஏற்றத்திற்குப் பிறகு தற்காலிகமாக சேமிக்கப்படுகின்றன

சிறந்த நடைமுறைகள்

தொகுதி ஒழுங்கமைப்பு மற்றும் கட்டமைப்புக்கான சிறந்த நடைமுறைகளைப் பின்பற்றவும்

💎 முக்கிய புள்ளிகள்:

  • தொகுதிகள் குறியீட்டை ஒழுங்கமைக்க உதவுகின்றன
  • உள்ளமைக்கப்பட்ட தொகுதிகள் முக்கிய செயல்பாடுகளை வழங்குகின்றன
  • exports பல ஏற்றுமதிகளுக்கும், module.exports ஒற்றை ஏற்றுமதிக்கும்
  • தொகுதிகள் திறம்பட தற்காலிகமாக சேமிக்கப்படுகின்றன
  • ஒற்றை பொறுப்பு கொள்கையைப் பின்பற்றவும்

பயிற்சி

HTTP தொகுதியை இறக்குமதி செய்ய சரியான தொடரியலை தேர்ந்தெடுக்கவும்.

const http = ('http');
✗ தவறு! இந்த தொடரியல் require செயல்பாட்டைப் பயன்படுத்தவில்லை
const http = require('http');
✓ சரி! require() செயல்பாடு Node.js இல் தொகுதிகளை இறக்குமதி செய்ய சரியான வழி
import http from 'http';
✗ தவறு! இது ES தொகுதி தொடரியல், CommonJS அல்ல
let http = include('http');
✗ தவறு! include என்பது Node.js இல் தொகுதிகளை இறக்குமதி செய்ய பயன்படுத்தப்படும் செயல்பாடு அல்ல